package com.mydomain.Bodega;
// Generated 09-oct-2009 21:00:47 by Hibernate Tools 3.2.2.GA

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.persistence.Transient;

import org.hibernate.validator.Length;
import org.hibernate.validator.NotNull;
import org.jboss.seam.annotations.Name;

/**
 * InvEgreso generated by hbm2java
 */
@Entity
@Name("invEgreso")
@Table(name = "inv_egreso", schema = "public")
public class InvEgreso implements java.io.Serializable {

	private long egrCodigo;
	private InvCliente invCliente;
	private Subdepartamento subdepartamento;
	private Integer depCodigo;
	private Date egrFecha;
	private String egrObservacion;
	private BigDecimal egrIva;
	private BigDecimal egrDescuento;
	private Character egrConsumoIntern;
	private String egrTipoPago;
	private String egrTipo;
	private Boolean egrEstadoTransferencia;
	private long egrSubdep;
	private transient String auxsubDep;
	private transient long manualCodigoDeEgreso;
	private transient Date manualFechaEgreso;
	private transient String manualDeEgresoSalida;
	private transient String manualtipoDeTransacionDeEgreso;
	private transient String  buscadorEgrCodigo;
	private  transient String  buscadorProveedor;
	
	@Transient
	public String getBuscadorEgrCodigo() {
		return buscadorEgrCodigo;
	}

	public void setBuscadorEgrCodigo(String buscadorEgrCodigo) {
		this.buscadorEgrCodigo = buscadorEgrCodigo;
	}
	
	@Transient
	public String getBuscadorProveedor() {
		return buscadorProveedor;
	}

	public void setBuscadorProveedor(String buscadorProveedor) {
		this.buscadorProveedor = buscadorProveedor;
	}

	@Transient
	public Date getManualFechaEgreso() {
		return manualFechaEgreso;
	}

	public void setManualFechaEgreso(Date manualFechaEgreso) {
		this.manualFechaEgreso = manualFechaEgreso;
	}

	@Transient
	public long getManualCodigoDeEgreso() {
		return manualCodigoDeEgreso;
	}

	public void setManualCodigoDeEgreso(long manualCodigoDeEgreso) {
		this.manualCodigoDeEgreso = manualCodigoDeEgreso;
	}
	@Transient
	public String getManualDeEgresoSalida() {
		return manualDeEgresoSalida;
	}

	public void setManualDeEgresoSalida(String manualDeEgresoSalida) {
		this.manualDeEgresoSalida = manualDeEgresoSalida;
	}
	@Transient
	public String getManualtipoDeTransacionDeEgreso() {
		return manualtipoDeTransacionDeEgreso;
	}

	public void setManualtipoDeTransacionDeEgreso(
			String manualtipoDeTransacionDeEgreso) {
		this.manualtipoDeTransacionDeEgreso = manualtipoDeTransacionDeEgreso;
	}

	@Column(name = "egr_estado_transferencia")
	public Boolean getEgrEstadoTransferencia() {
		return egrEstadoTransferencia;
	}

	public void setEgrEstadoTransferencia(Boolean egrEstadoTransferencia) {
		this.egrEstadoTransferencia = egrEstadoTransferencia;
	}

	@Transient
	public String getAuxsubDep() {
		return auxsubDep;
	}

	public void setAuxsubDep(String auxsubDep) {
		this.auxsubDep = auxsubDep;
	}

	private Set<InvEgresoItem> invEgresoItems = new HashSet<InvEgresoItem>(0);

	public InvEgreso() {
	}

	public InvEgreso(long egrCodigo) {
		this.egrCodigo = egrCodigo;
	}
	public InvEgreso(long egrCodigo, InvCliente invCliente,
			Subdepartamento subdepartamento, Integer depCodigo, Date egrFecha,
			String egrObservacion, Serializable egrGrabado, BigDecimal egrIva,
			BigDecimal egrDescuento, Character egrConsumoIntern,
			String egrTipoPago, String egrNumCheque,
			Set<InvEgresoItem> invEgresoItems) {
		this.egrCodigo = egrCodigo;
		this.invCliente = invCliente;
		this.subdepartamento = subdepartamento;
		this.depCodigo = depCodigo;
		this.egrFecha = egrFecha;
		this.egrObservacion = egrObservacion;
		this.egrIva = egrIva;
		this.egrDescuento = egrDescuento;
		this.egrConsumoIntern = egrConsumoIntern;
		this.egrTipoPago = egrTipoPago;
		this.egrTipo = egrNumCheque;
		this.invEgresoItems = invEgresoItems;
	}

	@Id
	@Column(name = "egr_codigo", unique = true, nullable = false, precision = 10, scale = 0)
	@NotNull
	public long getEgrCodigo() {
		return this.egrCodigo;
	}

	public void setEgrCodigo(long egrCodigo) {
		this.egrCodigo = egrCodigo;
	}
	
	
	@Column(name = "egr_subdep", precision = 10)
	public long getEgrSubdep() {
		return egrSubdep;
	}

	public void setEgrSubdep(long egrSubdep) {
		this.egrSubdep = egrSubdep;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "cli_codigo")
	public InvCliente getInvCliente() {
		return this.invCliente;
	}

	public void setInvCliente(InvCliente invCliente) {
		this.invCliente = invCliente;
	}
	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "subdep_codigo")
	public Subdepartamento getSubdepartamento() {
		return this.subdepartamento;
	}

	public void setSubdepartamento(Subdepartamento subdepartamento) {
		this.subdepartamento = subdepartamento;
	}

	@Column(name = "dep_codigo", precision = 5, scale = 0)
	public Integer getDepCodigo() {
		return this.depCodigo;
	}

	public void setDepCodigo(Integer depCodigo) {
		this.depCodigo = depCodigo;
	}
	@Temporal(TemporalType.DATE)
	@Column(name = "egr_fecha", length = 13)
	public Date getEgrFecha() {
		return this.egrFecha;
	}

	public void setEgrFecha(Date egrFecha) {
		this.egrFecha = egrFecha;
	}

	@Column(name = "egr_observacion", length = 100)
	@Length(max = 100)
	public String getEgrObservacion() {
		return this.egrObservacion;
	}

	public void setEgrObservacion(String egrObservacion) {
		this.egrObservacion = egrObservacion;
	}

	@Column(name = "egr_iva", precision = 13, scale = 4)
	public BigDecimal getEgrIva() {
		return this.egrIva;
	}

	public void setEgrIva(BigDecimal egrIva) {
		this.egrIva = egrIva;
	}

	@Column(name = "egr_descuento", precision = 13, scale = 4)
	public BigDecimal getEgrDescuento() {
		return this.egrDescuento;
	}

	public void setEgrDescuento(BigDecimal egrDescuento) {
		this.egrDescuento = egrDescuento;
	}

	@Column(name = "egr_consumo_intern", length = 1)
	public Character getEgrConsumoIntern() {
		return this.egrConsumoIntern;
	}

	public void setEgrConsumoIntern(Character egrConsumoIntern) {
		this.egrConsumoIntern = egrConsumoIntern;
	}

	@Column(name = "egr_tipo_pago")
	public String getEgrTipoPago() {
		return this.egrTipoPago;
	}

	public void setEgrTipoPago(String egrTipoPago) {
		this.egrTipoPago = egrTipoPago;
	}

	@Column(name = "egr_tipo", length = 30)
	@Length(max = 30)
	public String getEgrTipo() {
		return this.egrTipo;
	}

	public void setEgrTipo(String egrTipo) {
		this.egrTipo = egrTipo;
	}
	@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "invEgreso")
	public Set<InvEgresoItem> getInvEgresoItems() {
		return this.invEgresoItems;
	}

	public void setInvEgresoItems(Set<InvEgresoItem> invEgresoItems) {
		this.invEgresoItems = invEgresoItems;
	}

}
